The present invention relates to data caches for storage area networks (SAN).
Caches are well known in many applications. A microprocessor typically will have at least a first level cache on the microprocessor chip itself, and may be connected to a separate SDRAM cache which is a second-level cache. In storage arrays, such as redundant arrays of independent disks (RAID), a storage controller typically will have a cache. In a storage area network, the same cache structure typically is used, with the cache being attached to the storage controller which is then connected to the network. Thus, caching is done at the endpoint of the data transmission over the network.
In a virtual storage area network, a virtualization engine is interposed between the host and multiple physical storage controllers. The host can send data requests to the virtualization engine, which then determines which storage controller to send it to, and forwards the data over the network to the storage controller. The storage controller then uses its own associated cache in connection with data accesses.